home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / utility / utilhard / lcdaem18.lha / LCDaemon / Programmer / lcd.h < prev    next >
C/C++ Source or Header  |  1996-10-13  |  3KB  |  144 lines

  1. static char *lcdportname="«« LCD rendezvous »»";
  2. static char *lcdrexxname="LCDAEMON";
  3.  
  4. struct lcdparams {
  5.     long width;
  6.     long virtualwidth;
  7.     long height;
  8.     long maxqueuetime;
  9. };
  10. struct lcdqueuedtext {
  11.     STRPTR themessage;
  12. };
  13. struct lcdirect {
  14.     ULONG Command;
  15.     ULONG Data;
  16. };
  17. struct lcdmessage {
  18.     struct Message    lcd_Message;
  19.     long            lcd_Code;
  20.     BYTE            lcd_Priority;
  21.     BYTE            lcd_pad1[3];
  22.     long            lcd_Error;
  23.     long            lcd_Ticks;
  24.     APTR            lcd_Data;
  25. };
  26.  
  27. /*    LCDscreen for semi-direct screen control and programmable character support.
  28. **
  29. **    DMN : supplied by daemon , read-only to user.
  30. **    USR : supplied by user
  31. **    PRI : private. Don't even think about what this this value might do.
  32. */
  33. #define LCDSCREEN_MINVERSION    16
  34. struct lcdscreen {
  35. /*
  36. **        Version to identify future versions.
  37. **        Check for your minimum-version before filling out new structure members
  38. **        DMN
  39. */
  40.     UWORD version;
  41.     UWORD reserved;
  42. /*        
  43. **        Number of characters per screen line. This may be wider than
  44. **        the actual number of characters per line !
  45. **        DMN
  46. */
  47.     UWORD bufferwidth;
  48. /*
  49. **        Number of lines in the screen buffer.
  50. **        DMN
  51. */
  52.     UWORD bufferheight;
  53. /*
  54. **        Pointer to private data. Don't touch this field!
  55. **        PRI
  56. */
  57.     APTR private;
  58. /*
  59. **        Pointer to screen buffer. This gets allocated by LCDaemon, but you
  60. **        must fill it with sensible data.
  61. **        DMN
  62. */
  63.     char *screenbuffer;
  64. /*
  65. **        Flags informing what to update.
  66. **        USR
  67. */
  68.     ULONG ud_flags;
  69. /*
  70. **        Number of bytes per character
  71. **        USR
  72. */
  73.     UWORD customcharheight;
  74. /*
  75. **        Number of characters defined
  76. **        USR
  77. */
  78.     UWORD customcharnum;
  79. /*
  80. **        Pointer to the array of programmable characters. You must
  81. **        initialize this pointer to your custom character data.
  82. **        USR
  83. */
  84.     UBYTE *customchardefs;
  85. };
  86. #define LCDUPD_DISPLAY            1
  87. #define LCDUPD_CUSTOMCHARNUM    2
  88. #define    LCDUPD_CUSTOMCHARDEFS    4
  89.  
  90. #define LCDPRI_MEMDISPLAY    -64
  91. #define LCDPRI_APPLICATION    0
  92. #define    LCDPRI_ALERT        64
  93. #define    LCDPRI_VITAL        127
  94. #define    LCDPRI_REMARK        -32
  95. #define LCDPRI_NEVER        -128
  96.  
  97. #define LCDMSG_NONE                0
  98. #define LCDMSG_ASKPARAMS        1
  99. #define LCDMSG_QUEUE            2
  100. #define LCDMSG_ALLOCATELCD        3
  101. #define LCDMSG_FREELCD            4
  102. #define LCDMSG_LCDIRECT            5
  103. #define LCDMSG_ALLOCATEHANDLE    6
  104. #define    LCDMSG_FREEHANDLE        7
  105. #define LCDMSG_UPDATEHANDLE        8
  106.  
  107. #define LCDERR_NONE            0
  108. #define LCDERR_UNKNOWN        1
  109. #define LCDERR_NOMEM        2
  110. #define LCDERR_TOOBUSY        3
  111. #define LCDERR_YOURFAULT    4
  112.  
  113. #define LCDCMD_END        0
  114. #define LCDCMD_CLS        1
  115. #define LCDCMD_HOME        2
  116. #define LCDCMD_CURSDIR    3
  117. #define LCDCMD_DISPLAY    4
  118. #define LCDCMD_CURSOR    5
  119. #define LCDCMD_BLINK    6
  120. #define LCDCMD_SHIFTD    7
  121. #define LCDCMD_SHIFTC    8
  122. #define LCDCMD_GOTOXY    9
  123. #define LCDCMD_GETXY    10
  124. #define LCDCMD_DATA        11
  125.  
  126. #define LCDRXE_IMGONE     100
  127.  
  128. #define ON TRUE
  129. #define OFF FALSE
  130. #define YES TRUE
  131. #define NO FALSE
  132. #define DATA TRUE
  133. #define REG FALSE
  134. #define EIGHTBITS TRUE
  135. #define FOURBITS FALSE
  136. #define TWOLINES TRUE
  137. #define ONELINE FALSE
  138. #define TENDOTS TRUE
  139. #define SEVENDOTS FALSE
  140. #define RIGHT TRUE
  141. #define LEFT FALSE
  142. #define DISPLAY TRUE
  143. #define CURSOR FALSE
  144.